iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
Python

python介紹系列 第 24

Python進階語法(七)

  • 分享至 

  • xImage
  •  

元類 (Metaclasses)
元類是創建類的「類」,用來控制類的創建過程。
class Meta(type):
def new(cls, name, bases, attrs):
print(f"Creating class {name}")
return super().new(cls, name, bases, attrs)

class MyClass(metaclass=Meta):
pass
元類的應用範圍比較小,但在需要生成類的框架或工具中非常強大。

weakref 模組
weakref 提供了一種弱引用的機制,讓你可以引用對象而不影響其被垃圾回收的可能性。
import weakref

class MyClass:
pass

obj = MyClass()
r = weakref.ref(obj)

print(r()) # 會返回 obj,除非它已被回收
weakref 可以幫助你優化內存使用,特別是在需要處理大量對象的場景。

collections 的 defaultdict
defaultdict 是一個字典子類,當你訪問不存在的鍵時,它會自動創建一個默認值,這在統計或數據處理時非常有用。
from collections import defaultdict

counts = defaultdict(int)
words = ["apple", "banana", "apple", "orange"]

for word in words:
counts[word] += 1

print(counts) # {'apple': 2, 'banana': 1, 'orange': 1}
defaultdict 讓你不用擔心處理不存在的鍵,讓代碼更加簡潔。

iter() 和 next()
iter() 和 next() 可以讓你手動控制迭代。
numbers = [1, 2, 3, 4]
it = iter(numbers)

print(next(it)) # 1
print(next(it)) # 2
手動迭代特別適合處理無限或大型序列的情況。


上一篇
Python進階語法(六)
下一篇
Python進階語法(八)
系列文
python介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言